﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUS.ISS.ARS.BusinessEntity;
using NUS.ISS.ARS.BusinessEntity.ViewModels;
using NUS.ISS.ARS.Common;

namespace NUS.ISS.ARS.BusinessFacade.Interface
{
    public interface IBookingBF
    {        
        IEnumerable<FlightBookingTripView> GetFlightBookingsByRefNoAndName(string refNo, string firstName, string lastName);
        IEnumerable<FlightBookingTripView> GetAllFlightBookings();
        IEnumerable<City> GetAllFlightCities();
        IEnumerable<FlightBookingTripView> SearchFlights(ReservationViewObject ReservationData);
        FlightBookingTripView GetFlightBookingsById(long id);
        CancelBookingTripView GetFlightBookingsByFlightBooking(long id);
        List<int> GetNumOfPassengersArrayByBookingRefNo(string refNo);
        List<long> FlightBookingTripIdByFlightBookingId(long flightbookingid);
        PriceSummaryView GetPriceSummary(IEnumerable<FlightBookingTripView> trips, bool isManageBooking);
        SaveResult SaveChangedBookings(IEnumerable<FlightBookingTripView> trips);
        SaveResult CreateBookings(ReservationViewObject data);
        SaveResult SaveChangedBooking(CancelBookingTripView cancelBookingTripView);
    }
}
